
// let BASEURL = "/api" // 基础地址
let BASEURL = "https://pv.klapower.chu.edu.cn" // 基础地址

/*
* 全局请求封装
* @param path 请求路径
* @param method 请求类型(GET/POST/DELETE等)
* @oaram data 请求体数据
* @param loading 请求未完成是是否显示加载中，默认为true
*/
export default (path, method, data = {}, loading = true) => {
	// 获取存储token
	const token = uni.getStorageSync("Token")||'';
	if (loading) {
		uni.showLoading({
			title: "加载中",
			mask: true
		});
	};
	return tokenRequest(path, method, data, loading, token)
};

// 发送请求函数
function tokenRequest(path, method, data, loading, token) {
	return new Promise((resolve, reject) => {
		uni.request({
			url: BASEURL + path,
			method: method,
			data,
			header: {
				"Token":  token
			},
			success(response) {
				if(response.data === '000600'){
					uni.showToast({
						icon: "none",
						title:token? '身份过期，请您重新登录':'您还未登录，请您先登录',
						success: () => {
							setTimeout(()=>{
								uni.reLaunch({
									url: '/pages/login/index'
								})
							},500)
						}
					});
					return
				}
				if(response.data.code === '000600'){
					uni.reLaunch({
						url: '/pages/login/index'
					})
				}
				if(response.data.code === '000000' || response.data.code === '000010'){
					resolve(response.data);
				}else{
					uni.showToast({
						icon: "none",
						title: '数据请求错误'
					});
					reject(response.data);
				}
			},
			fail(err) {
				uni.showToast({
					icon: "none",
					title: '服务响应失败'
				});
				reject(err);
			},
			complete() {
				uni.hideLoading();
			}
		});
	});
}
